Replication File for:

Pan, Jennifer and Tongtong Zhang. 2021. "Does Ideology Influence Hiring in China? Evidence from Two Randomized Experiments" Political Science Research and Methods. 


** Notes **

Please set the working directory to the folder where this ReadMe.txt is located.


** Code files **
 (in the "Code" folder)

1) Main_rep.R: code that replicate all tables, figures, and statistics in the main paper.
-- Output: Tables 2,3; Figures 1,2,3,5; and the in-text statistics of Section 3.1 in the main paper.
-- Note: Table 1 and Figure 4, which display our treatments and coding rules of firms, are not generated in R.

2) Appendix_rep.R: code that replicate all tables and statistics in the online appendices.
-- Output: Tables A2-A19 in online appendices, except Table A9 for which we provide the R code but not the data of firm names given the IRB requirement to protect the identity of firms involved in this study.
-- Note: Table A1, which displays candidate proxies for the treatment, is not generated in R. 


** Log files **
 (in the "Log" folder)
1) Figures.pdf: Figures generated by "Main_rep.R", including Figures 1,2,3,5 in the main paper.

2) Log_main.txt: Tables and statistics generated by "Main_rep.R", including Tables 2,3, and the in-text statistics of Section 3.1 in the main paper.

3) Log_appendix.txt: Tables and statistics generated by "Appendix_rep.R", including Tables A2-A19 in online appendices.


** Datasets used in code **
 (in the "Data" folder)

1) Pretest1_SelectTreatment.csv: first pre-test (a conjoint survey experiment) that selects the best proxy for political conformity on a resume. Unit = respondent-profile.
-- Variables:
(1) respondent: respondent ID
(2) profile: profile ID for each respondent - each respondent reviews 10 profiles, indexed from A through K
(3) merit: respondent’s rating (on the scale of 1-10) of academic merit for each applicant. Higher rating denote higher academic merit.
(4) connections: respondent’s rating (on the scale of 1-10) of the strength of government connections for each applicant. Higher rating denote stronger government connections.
(5) allegiance: respondent’s rating (on the scale of 1-10) of political conformity to the Chinese Communist Party (CCP) regime for each applicant. Higher rating denote higher conformity to the CCP regime.
(6) marxist_major: indicator variable for the job candidate’s master major, = 1 if the candidate’s major is "Scientific Socialism and Communist Movements" and =0 if the candidate’s major is "International Politics"
(7) marxist_course: indicator variable for the job candidate’s highlighted courses, = 1 if the candidate highlights courses on socialism ("Socialism with Chinese Characteristics", "Transnational Socialism", and "Mao Zedong Thoughts and Socialism with Chinese Characteristics"); =0 if the candidate highlights courses on Western political philosophy ("Study on Western Political Philosophy", "History of Western Political Philosophy", and "Political Regimes in Western Capitalist States"). 
(8) marxist_extra: indicator variable for the job candidate’s extracurricular activities, = 1 if the candidate participates in a Socialism with Chinese Characteristics Study Group and states on resume that "sovereignty takes precedence over human rights”; =0 if the candidate participates in a Western political philosophy study group and states on resume that "human rights takes precedence over sovereignty".


2) Pretest2_ManipulationCheck.csv: second pre-test (a conjoint survey experiment) that conducts manipulation checks. Unit = respondent-profile.
-- Variables:
(1) respondent: respondent ID
(2) profile: profile ID for each respondent - each respondent reviews 10 profiles of job applicants, indexed from A through K
(3) merit: respondent’s rating (on the scale of 1-10) of academic merit for each applicant. Higher rating denotes higher academic merit.
(4) allegiance: respondent’s rating (on the scale of 1-10) on the level of political conformity to the Chinese regime of each applicant. Higher rating denotes higher conformity to CCP.
(5) obedient: respondent’s rating (on the scale of 1-10) on the level of obedience in general of each applicant. Higher rating denotes more obedience in general.
(6) patriotic: respondent’s rating (on the scale of 1-10) of how patriotic an applicant is. Higher rating means denotes more patriotism.
(7) conservative: respondent’s rating (on the scale of 1-10) on the level of conservativeness for each applicant. Higher rating denote more conservatism.
(8) creativity: respondent’s rating (on the scale of 1-10) on the level of creativity of each applicant. Higher rating denote more creativity.
(9) bookish: respondent’s rating (on the scale of 1-10) on how bookish an applicant is. Higher rating denote more bookishness.
(10) connections: respondent’s rating (on the scale of 1-10) on the strength of social connections of each applicant. Higher rating denote stronger social connections.
(11) problem.solving: respondent’s rating (on the scale of 1-10) on the problem-solving ability of each applicant. Higher rating denote higher problem-solving ability.
(12) leadership: respondent’s rating (on the scale of 1-10) on the leadership capability of each applicant. Higher rating denote stronger leadership capability.
(13) strategic: respondent’s rating (on the scale of 1-10) of how strategic a job candidate is. Higher rating denote more strategic candidates.
(14) productive: respondent’s rating (on the scale of 1-10) on the level of work efficiency of an applicant. Higher rating denote more efficiency.
(15) independent: respondent’s rating (on the scale of 1-10) of how independent an applicant is. Higher rating denote more independence.
(16) political.active: respondent’s rating (on the scale of 1-10) of how politically active an applicant is. Higher rating denote more politically active applicants.
(17) critical: respondent’s rating (on the scale of 1-10) of how critical a job candidate is. Higher rating denote more critical applicants.
(18) risk.acceptance: respondent’s rating (on the scale of 1-10) on the level of risk-acceptance of each applicant. Higher rating denote higher acceptance for risk.
(19) dedicated: respondent’s rating (on the scale of 1-10) of how dedicated an applicant is. Higher rating denote more dedication.
(20) collaborative: respondent’s rating (on the scale of 1-10) of how collaborative an applicant is with other people. Higher rating denote more collaborativeness.
(21) chnsocial: indicator variable; = 1 if the applicant participates in an extracurricular study group on Socialism with Chinese Characteristics; =0 if the candidate does not participate in this study group.
(22) comic: indicator variable; = 1 if the applicant participates in a comic extracurricular group; =0 if the candidate does not participate in this extracurricular group.
(23) western: indicator variable; = 1 if the applicant participates in an extracurricular study group on Western Political Philosophy; =0 if the candidate does not participate in this study group.


3) ResumeAudit.csv: the main resume audit experiment. Unit = resume.
-- Variables:
(1) allegiance: allegiance: ideological proxy on resume, including 3 categories: "western" for political non-conformity treatment, "comic" for apolitical control, "socialism" for political conformity treatment.
(2) job_identifier: job vacancy ID
(3) callback: indicator for callback; = 1 if the employer calls back and =0 if no callback.
(4) apolitical: indicator for the apolitical control; =1 if the resume is in apolitical control group, =0 otherwise.
(5) conformity: indicator for the political conformity treatment; =1 if the resume is in political conformity treatment group, =0 otherwise.
(6) non_conformity: indicator for the political non-conformity treatment; =1 if the resume is in political non-conformity treatment group, =0 otherwise.
(7) merit: indicator for high academic merit; =1 if the resume has a top 5% GPA cohort ranking, =0 if the resume has a top 45% GPA cohort ranking.
(8) male: indicator for male gender on the resume; =1 if the applicant is identified as a man, =0 otherwise.
(9) ccp: indicator for Chinese Communist Party (CCP) membership on the resume; =1 if the applicant is a CCP member, =0 otherwise.
(10) cs: indicator for Computer Science major on the resume; =1 if the applicant is a CS major, =0 otherwise.
(11) econ: indicator for Economics major on the resume; =1 if the applicant is an Econ major, =0 otherwise.
(12) ee: indicator for Electrical Engineering major on the resume; =1 if the applicant is a EE major, =0 otherwise.
(13) hs: indicator for Humanities & Social Sciences major on the resume; =1 if the applicant is a H&S major, =0 otherwise.
(14) med: indicator for Medical major on the resume; =1 if the applicant is a medical major, =0 otherwise.
(15) high_tier: indicator for high-tier university on the resume; =1 if the applicant’s university is ranked top 50 in China in 2015, =0 otherwise.
(16) cpluplus: indicator for C++ skill on the resume; =1 if the applicant has C++ skill, =0 otherwise.
(17) javascript: indicator for javascript skill on the resume; =1 if the applicant has javascript skill, =0 otherwise.
(18) linux: indicator for linux skill on the resume; =1 if the applicant has linux skill, =0 otherwise.
(19) php: indicator for php skill on the resume; =1 if the applicant has php skill, =0 otherwise.
(20) python: indicator for python skill on the resume; =1 if the applicant has python skill, =0 otherwise.
(21) sql: indicator for sql skill on the resume; =1 if the applicant has sql skill, =0 otherwise.
(22) running200: indicator for PE certificate on the resume; =1 if the applicant has a certificate in 200-meter run, =0 otherwise.
(23) running400: indicator for PE certificate on the resume; =1 if the applicant has a certificate in 400-meter run, =0 otherwise.
(24) running800: indicator for PE certificate on the resume; =1 if the applicanthas a certificate in 800-meter run, =0 otherwise.
(25) longjump: indicator for PE certificate on the resume; =1 if the applicant has a certificate in longjump, =0 otherwise.
(26) highjump: indicator for PE certificate on the resume; =1 if the applicant has a certificate in highjump, =0 otherwise.
(27) shotput: indicator for PE certificate on the resume; =1 if the applicant has a certificate in shotput, =0 otherwise.
(28) travel: indicator for hobby on the resume; =1 if the applicant has a hobby of traveling, =0 otherwise.
(29) swim: indicator for hobby on the resume; =1 if the applicant has a hobby of swimming, =0 otherwise.
(30) badminton: indicator for hobby on the resume; =1 if the applicant has a hobby of playing badminton, =0 otherwise.
(31) biking: indicator for hobby on the resume; =1 if the applicant has a hobby of bicycling, =0 otherwise.
(32) rollerskate: indicator for hobby on the resume; =1 if the applicant has a hobby of roller-skating, =0 otherwise.
(33) music: indicator for hobby on the resume; =1 if the applicant has a hobby in music, =0 otherwise.
(34) public: indicator for ownership sector of the job; =1 if the job is in government agencies or public institutions, =0 otherwise.
(35) soe: indicator for ownership sector of the job; =1 if the job is in state-owned enterprises, =0 otherwise.
(36) foreign: indicator for ownership sector of the job; =1 if the job is in foreign or joint venture firms, =0 otherwise.
(37) private: indicator for ownership sector of the job; =1 if the job is in private firms, =0 otherwise.
(38) UJobSameProvince: indicator for geographic proximity to the job; =1 if job location and the applicant’s university are in the same province, =0 otherwise.
(39) university_east: indicator for university location on the resume; =1 if the applicant’s university is in Eastern China, =0 otherwise.
(40) university_middle: indicator for university location on the resume; =1 if the applicant’s university is in Central China, =0 otherwise.
(41) university_west: indicator for university location on the resume; =1 if the applicant’s university is in Western China, =0 otherwise.
(42) State_Priority: indicator for CCP priority industry; =1 if the job is in an industry prioritized by the CCP as strategically important, =0 otherwise.
(43) Special_Permits: indicator for industry needing special permits; =1 if the job is in an industry requiring government specialized permits to operate, =0 otherwise.
(44) Innovation: indicator for innovative industry; =1 if the job is in an industry that relies on innovation, =0 otherwise.
(45) priority_innovation: indicator; =1 if the job is in an industry that is a CCP priority and innovative, =0 otherwise.
(46) Nonpriority_innovation: indicator; =1 if the job is in an industry that is not a CCP priority and innovative, =0 otherwise.
(47) priority_Notinnovation: indicator; =1 if the job is in an industry that is a CCP priority and not innovative, =0 otherwise.
(48) Nonpriority_Noninnovation: indicator; =1 if the job is in an industry that is not a CCP priority and not innovative, =0 otherwise.


4) stm_output.RData: output of the structural topic model (STM) analysis on firm names
-- Content:
(1) cont_employers: the estimated STM model with 12 distinct topics (industry groupings) among firm names. Per IRB request to keep firm names confidential, all terms ("vocab") in cont_employers have been redacted and replaced with "NA".
(2) meta_employers: metadata used for STM analysis
-- Variables in meta_employers:
a. job_identifier: job vacancy ID
b. gov: indicator for ownership sector of the job; =1 if the job vacancy is in government agencies or public institutions, =0 otherwise.
c. soe: indicator for ownership sector of the job; =1 if the job vacancy is in state-owned enterprises, =0 otherwise.
d. foreign: indicator for ownership sector of the job; =1 if the job vacancy is in foreign firms, =0 otherwise.
e. private: indicator for ownership sector of the job; =1 if the job vacancy is in private firms, =0 otherwise.
f: firm_region: geographic location of the job, including 4 levels: East China (east), Central China (middle), West China (west), cross-regional in China (cross), and overseas (foreign).
g: penalize_disloyal: indicator for whether the employer of the job penalizes political non-conformity; =1 if the employers gives a callback to politically conformist or apolitical resume but does not give a callback to the politically non-conformity resume, =0 otherwise.


5) HRSurvey.csv: the conjoint survey experiment of hiring managers. Unit = respondent-resume.
-- Variables:
(1) ResponseId: respondent ID
(2) resume_allegiance: treatment group of the resume, including 3 levels: comic (apolitical), Socialism (political conformity), West (political non-conformity).
(3) sector: ownership sector where the respondent works in, including 4 levels: foreign, private, public, SOE.
(4) manager: indicator for managerial position of the respondent; = 1 if respondent has direct reports, =0 otherwise.
(5) resume_hightierU: indicator for whether the university on the resume is a 985 elite university in China; =1 if yes, =0 if no.
(6) conformity: indicator for the conformity treatment; =1 if the resume is in the political conformity treatment, =0 otherwise.
(7) non_conformity: indicator for the non-conformity treatment; =1 if the resume is in the political non-conformity treatment, =0 otherwise.
(8) apolitical: indicator for the apolitical treatment; =1 if the resume is in the apolitical control, =0 otherwise.
(9) Y: reported callback by respondent; =1 if report callback, =0 if report no callback
(10) female: indicator for gender of the respondent; =1 if identified as woman, =0 otherwise.
(11) age: age of the respondent
(12) nonHan: indicator for ethnicity of the respondent; =1 if the respondent is in a non-Han ethnicity, =0 if he/she is a Han.
(13) urban: indicator for urban Hukou of the respondent; =1 if the respondent has an urban household registration (Hukou) in China, =0 otherwise.
(14) ccp: indicator for CCP membership of the respondent; =1 if CCP member, =0 if not.
(15) exp_1_3: indicator for the respondent's work experience; =1 if the respondent has 1-3 years of work experience, =0 otherwise.
(16) exp_4_7: indicator for the respondent's work experience; =1 if the respondent has 4-7 years of work experience, =0 otherwise.
(17) exp_8more: indicator for the respondent's work experience; =1 if the respondent has 8 years or more work experience, =0 otherwise.
(18) hrexp_1_3: indicator for the respondent's hiring experience; =1 if the respondent has 1-3 years of hiring experience, =0 otherwise.
(19) hrexp_4_7: indicator for the respondent's hiring experience; =1 if the respondent has 4-7 years of hiring experience, =0 otherwise.
(20) hrexp_8more: indicator for the respondent's hiring experience; =1 if the respondent has 8 years or more hiring experience, =0 otherwise.
(21) HukouEast: indicator for the respondent's Hukou region; = 1 if the respondent is a registered resident in East China, =0 otherwise.
(22) HukouMiddle: indicator for the respondent's Hukou region; = 1 if the respondent is a registered resident in Central China, =0 otherwise.
(23) HukouWest: indicator for the respondent's Hukou region; = 1 if the respondent is a registered resident in West China, =0 otherwise.
(24) hs: indicator for the respondent's education level; =1 if the respondent's highest education is high school or below, =0 otherwise.
(25) bachelor: indicator for the respondent's education level; =1 if the respondent's highest education is bachelor, =0 otherwise.
(26) graduate: indicator for the respondent's education level; =1 if the respondent's highest education is a graduate degree, =0 otherwise.
(27) gov: indicator for the ownership sector the respondent works in; =1 if the respondent works in government agencies or public institutions, =0 otherwise.
(28) soe: indicator for the ownership sector the respondent works in; =1 if the respondent works in state-owned enterprises, =0 otherwise.
(29) private: indicator for the ownership sector the respondent works in; =1 if the respondent works in private firms, =0 otherwise.
(30) foreign: indicator for the ownership sector the respondent works in; =1 if the respondent works in foreign or joint venture firms, =0 otherwise.
(31) inc_low: indicator for the respondent's monthly income; =1 if the respondent earns 5,000 RMB or below per month, =0 otherwise.
(32) inc_mid: indicator for the respondent's monthly income; =1 if the respondent earns 5,001-8,000 RMB or below per month, =0 otherwise.
(33) inc_upmid: indicator for the respondent's monthly income; =1 if the respondent earns 8,001-20,000 RMB or below per month, =0 otherwise.
(34) inc_high: indicator for the respondent's monthly income; =1 if the respondent earns more than 20,000 RMB or below per month, =0 otherwise.
(35) resume_highmerit: indicator for the GPA ranking on the resume; =1 if the applicant on the resume has top 5% GPA ranking in the cohort, =0 otherwise.
(36) resume_male: indicator for the gender on the resume; =1 if the applicant on the resume is identified as a man, =0 otherwise.
(37) resume_ccp: indicator for the CCP membership on the resume; =1 if the applicant on the resume is a CCP member, =0 otherwise.
(38) resume_statement: indicator for whether the resume includes the explicit political statement bullet in the extracurricular; =1 if yes, =0 if no.
(39) resume_STEMMajor：indicator for the university major on the resume; =1 if the applicant on the resume is a STEM major, =0 if not.


6) ExternalValidity.csv: characteristics of all jobs on the crowdsourcing website and of all vacancies applied to as part of the resume audit experiment. Unit = job vacancy.
-- Variables:
(1) applied: indicator for application; = 1 if experimental resumes were submitted to this job, =0 otherwise.
(2) nonprofit: indicator for job industry (manually coded); =1 if job is in non-profits or government agencies, =0 otherwise.
(3) comm_edu: indicator for job industry (manually coded); =1 if job is in media or education, =0 otherwise.
(4) energy: indicator for job industry (manually coded); =1 if job is in energy industry, =0 otherwise.
(5) real_estate: indicator for job industry (manually coded); =1 if job is in real estate industry, =0 otherwise.
(6) tech: indicator for job industry (manually coded); =1 if job is in tech industry (IT & electronics), =0 otherwise.
(7) finance: indicator for job industry (manually coded); =1 if job is in finance industry, =0 otherwise.
(8) auto_manufact: indicator for job industry (manually coded); =1 if job is in automotive or manufacturing industry, =0 otherwise.
(9) health: indicator for job industry (manually coded); =1 if job is in healthcare industry, =0 otherwise.
(10) consumer: indicator for job industry (manually coded); =1 if job is in consumer product sector (e.g. food, textile), =0 otherwise.
(11) agriculture: indicator for job industry (manually coded); =1 if job is in agricultural industry (e.g. poultry), =0 otherwise.
(12) other_service: indicator for job industry (manually coded); =1 if job is in other industries (e.g. consulting or legal service), =0 otherwise.
(13) tech_job: indicator for job skill (manually coded); =1 if job is a technician (e.g. IT specialist or EE engineer), =0 otherwise.
(14) professional: indicator for job skill (manually coded); =1 if job is a white-collar professional (e.g. lawyers, HR), =0 otherwise.
(15) teacher: indicator for job skill (manually coded); =1 if job is a teacher in public or private schools, =0 otherwise.
(16) secretariat: indicator for job skill (manually coded); =1 if job is a secretarial (e.g. admin), =0 otherwise.
(17) service: indicator for job skill (manually coded); =1 if job is a blue-collar service provider (e.g. waiter), =0 otherwise.
(18) worker: indicator for job skill (manually coded); =1 if job is a blue-collar worker (e.g. construction worker), =0 otherwise.
(19) east: indicator variable for job location; =1 if job is in Eastern China, =0 otherwise.
(20) middle: indicator variable for job location; =1 if job is in Central China, =0 otherwise.
(21) west: indicator variable for job location; =1 if job is in Western China, =0 otherwise.
(22) cross: indicator variable for job location; =1 if job is cross-regional within China, =0 otherwise.
(23) international: indicator variable for job location; =1 if job is located outside of China, =0 otherwise.
(24) gov: indicator variable for ownership sector; =1 if job is in public institutions or government agencies, =0 otherwise.
(25) soe: indicator variable for ownership sector; =1 if job is in state-owned enterprises, =0 otherwise.
(26) private: indicator variable for ownership sector; =1 if job is in private firms, =0 otherwise.
(27) foreign: indicator variable for ownership sector; =1 if job is in foreign firms or joint ventures, =0 otherwise.




